package com.synface.facerecognize.interfaces;

import android.graphics.Bitmap;

public abstract class FaceInterface
{
  public abstract int SynFace_Init(long[] paramArrayOfLong)
    throws FaceInterface.FaceException;

  public abstract void SynFace_Deinit(long paramLong)
    throws FaceInterface.FaceException;

  public abstract String SynFace_GetFaceFeature(Bitmap paramBitmap, long paramLong)
    throws FaceInterface.FaceException;

  public abstract String SynFace_GetFaceFeatureByData(byte[] paramArrayOfByte, int paramInt1, int paramInt2, long paramLong)
    throws FaceInterface.FaceException;

  public abstract int SynFace_CompareFeature(String paramString1, String paramString2, long paramLong)
    throws FaceInterface.FaceException;

  public abstract int SynFace_GetFaceAttr(int[] paramArrayOfInt, Bitmap paramBitmap, long paramLong)
    throws FaceInterface.FaceException;

  public class QualityState
  {
    public static final int QUALITY_ERR_CHECK_NONE = 0;
    public static final int QUALITY_ERR_FACE_TOOBIG = 1;
    public static final int QUALITY_ERR_FACE_TOOSMALL = 2;
    public static final int QUALITY_ERR_BRIGHTNESS_TOOLOW = 3;
    public static final int QUALITY_ERR_BRIGHTNESS_TOOHIGH = 4;
    public static final int QUALITY_ERR_LIGHT_NOEVENLY = 5;
    public static final int QUALITY_ERR_LOOKUP_TOOHIGH = 6;
    public static final int QUALITY_ERR_LOOKDOWN_TOOHIGH = 7;
    public static final int QUALITY_ERR_SIDE_TOOMUCH = 8;
    public static final int QUALITY_ERR_LAUGH_TOO_MUCH = 9;
    public static final int QUALITY_ERR_FACE_FROWN = 10;
    public static final int QUALITY_ERR_BANG_TOO_MUCH = 11;
    public static final int QUALITY_ERR_HAT_EXECPTION = 12;
    public static final int QUALITY_ERR_GLASS_EXECPTION = 13;
    public static final int QUALITY_ERR_FACEMASK_EXECPTION = 14;
    public static final int QUALITY_ERR_VALID = 15;

    public QualityState()
    {
    }
  }

  public class FaceException extends Exception
  {
    int errno;
    public static final int TCY_SUCC = 0;
    public static final int TCY_FAIL = -1;
    public static final int TCY_ERRO = -2;
    public static final int TCY_PARA = -3;
    public static final int TCY_EMPT = -4;
    public static final int TCY_NOFP = -5;
    public static final int TCY_NSAM = -6;
    public static final int TCY_NMAT = -7;
    public static final int TCY_NMEM = -8;
    public static final int TCY_FLSH = -9;
    public static final int TCY_NODV = -10;
    public static final int TCY_TOLV = -11;
    public static final int TCY_NSUP = -12;
    public static final int TCY_TMOT = -13;
    public static final int TCY_BUSY = -14;
    public static final int TCY_NLNK = -15;
    public static final int TCY_LESS = -16;
    public static final int TCY_CNCL = -17;
    public static final int TCY_FILE = -18;
    public static final int LIC_NONE = -19;
    public static final int LIC_TMOT = -20;
    public static final int LIC_BIND = -21;
    public static final int LIC_DEAT = -22;
    public static final int LIC_NMCN = -23;
    public static final int LIC_DISK = -24;
    public static final int EFACE_ERROR_INITFAILED = -31;

    public FaceException(int err)
    {
      this.errno = err;
    }

    public String getMessage()
    {
      return String.valueOf(this.errno);
    }
  }

  public class FaceState
  {
    public static final int EFACE_STATE_START = 1;
    public static final int EFACE_STATE_CLOSE_EYE = 2;
    public static final int EFACE_STATE_OPEN_MOUTH = 3;
    public static final int EFACE_STATE_NOD_HEAD = 4;
    public static final int EFACE_STATE_NOD_HEAD_UP = 5;
    public static final int EFACE_STATE_NOD_HEAD_DOWN = 6;
    public static final int EFACE_STATE_SHAKE_HEAD = 7;
    public static final int EFACE_STATE_SHAKE_HEAD_RIGHT = 8;
    public static final int EFACE_STATE_SHAKE_HEAD_LEFT = 9;
    public static final int EFACE_STATE_FINISH = 10;
    public static final int EFACE_STATE_SMILE = 11;
    public static final int EFACE_STATE_MOVE_PUPIL = 12;
    public static final int EFACE_STATE_FAILED = -1;

    public FaceState()
    {
    }
  }
}